home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 309_01 / memory.h < prev    next >
Text File  |  1990-03-18  |  2KB  |  97 lines

  1. /* memory.h   for 6809 card */
  2.  
  3. #code
  4.  
  5. memchr(src,chr,len)          /* Searches area pointed to by src of len */
  6. char *src, chr;              /* bytes for chr.                         */
  7. int len;
  8. {
  9.   while( --len >= 0 )
  10.     if( *src++ == chr )
  11.       return src-1;
  12.     return 0;
  13. }
  14.  
  15. memcmp(lhs, rhs, len)        /* Compares two memory areas              */
  16. char *lhs, *rhs;
  17. int len;
  18. {
  19.   while( --len >= 0 )
  20.     if( *lhs++ != *rhs++ )
  21.        return lhs[-1]-rhs[-1];
  22.     return 0;
  23. }
  24.  
  25. memcpy(dest,src,len)         /* Copies len bytes from src to dest,     */
  26. char *dest, *src;
  27. int len;
  28. {
  29.   while( --len >= 0 )
  30.      *dest++ = *src++;
  31. }
  32.  
  33. memmov(dst, src, len)        /*  copies len bytes from src to dst,     */
  34. char *dst, *src;
  35. int len;
  36. {
  37.   while( --len >= 0 )
  38.   {
  39.     *dst = *src;
  40.     dst++;
  41.     src++;
  42.   }
  43. }
  44.  
  45. memrev(dst, src, len)          /* copies len bytes from src to dst, in */
  46. char *dst, *src;               /* reverse order                        */
  47. int len;
  48. {
  49.   char *dstz;
  50.   char *srcz;
  51.   char t;
  52.   dstz = dst+len;
  53.   srcz = src+len;
  54.   while( srcz > src)
  55.   {
  56.     t = *--srcz;
  57.     *--dstz = *src++;
  58.     *dst++ = t;
  59.   }
  60. }
  61.  
  62. memset(dst, chr, len)          /* fills dst with chr for len bytes     */
  63. char *dst, chr;
  64. int len;
  65. {
  66.   while( --len >= 0 )  *dst++ = chr;
  67. }
  68.  
  69. poke(address, value)
  70. char *address;
  71. char value;
  72. {
  73.    *address = value;
  74. }
  75.  
  76. peek(address)
  77. char *address;
  78. {
  79. /*
  80.    return ( ((*address) & 0xff00) >> 8);
  81. */
  82.    return *address;
  83. }
  84.  
  85. setvect(vector,function)
  86. int *vector, *function;
  87. {
  88.    *vector = function;
  89. }
  90.  
  91. getvect(vector)
  92. int *vector;
  93. {
  94.    return (*vector);
  95. }
  96.  
  97.